/**
 * Copyright 2009-2010 - YangJiandong(chunquedong)
 * 
 * This file is part of ChunMap project
 * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE(Version >=3)
 * 你可以自由复制、传播本项目的下载包文件，但必须保持其完整性。
 * 我们不用对使用中的风险及由此造成的损失承担任何责任。
 * 详细情况请见《ChunMap许可协议》。

 * 想了解更多有关ChunMap的信息，请访问http://code.google.com/p/chunmap/
 */
package chunmap.app.command;

import chunmap.app.MapCtrl;
import chunmap.app.bench.Command;
import chunmap.model.coord.Coordinate2D;
/**
 * @author chunquedong
 * 
 */
public class MoveToCommand implements Command {

	private MapCtrl map;
	private double x;
    private double y;
    private double ox;
    private double oy;

	public MoveToCommand(MapCtrl map, double x, double y) {
		this.map = map;
        this.x = x;
        this.y = y;

        ox = map.getView().getCenter().getX();
        oy = map.getView().getCenter().getY();
	}

	@Override
	public void execute() {
		//map.getView().pan(x, y);
		map.getView().setCenter(new Coordinate2D(x,y));
	}

	@Override
	public boolean isUndoable() {
		return true;
	}

	@Override
	public void rollback() {
		//map.getView().pan(-x, -y);
		map.getView().setCenter(new Coordinate2D(ox,oy));
	}

}
